package pe.com.hermes.hermetic.modelo.dao;

import pe.com.hermes.hermetic.beans.ClienteBean;
import pe.com.hermes.hermetic.beans.ConfBean;
import pe.com.hermes.hermetic.beans.CorporacionBean;
import pe.com.hermes.hermetic.beans.FechaServidorBean;
import pe.com.hermes.hermetic.beans.User;

import java.sql.SQLException;

import java.util.Collection;
import java.util.List;

import pe.com.hermes.auditoriaclient.modelo.bean.AuditBean;
import pe.com.hermes.hermetic.beans.EmpleadoBean;
import pe.com.hermes.hermetic.beans.TiposBean;
import pe.com.hermes.hermetic.beans.UsersNivConfBean;
//import pe.com.hermes.unidadesnegocio.comercial.entities.TarjetaEntity;
import pe.com.hermes.hermetic.beans.UsuCodBancoBean;
import pe.com.hermes.hermetic.exception.NiveAutoNotFoundException;
import pe.com.hermes.hermetic.exception.TooManyNiveAutoByUsuaException;
import pe.com.hermes.unidadesnegocio.comercial.entities.TarjetaEntity;
import pe.com.hermes.unidadesnegocio.procesamiento.entities.DenominacionEntity;
import pe.com.hermes.unidadesnegocio.procesamiento.managerimpl.PedidoAbstract;

public interface TiposDAO {
    public String getDesTipo(String codTipo);

    public List getTipoPedido();

    public List getTipoBilletaje();

    public String getDescripcionBillete(String codTipo);


    public String getDescripcion(String codGrupo, String codTipo);

    public String getDescripcionLarga(String codGrupo, String codTipo);

    public String getDescripcionGenerica(final String codGrupTipo,final String codTipo,final String tipoDesc);

    public String getEstado(String codigo);

    public List getTiposAnomalias();

    public String existePassword(String usuario, String cliente);

    public String validaPassword(String usuario, String password, 
                                 String cliente);

    public void actualizaPassword(String password, String usuario, 
                                  String cliente);

    public List getTipoMoneda();

    public FechaServidorBean getFechaServidor();

    public String getDescCuenta(final String codCliente,final String codSucuHtb,final String codCuenta);
    
    public List getListGrupTipoGenerico(final String codGrupTipo);

    public int inseCateConf(String desCate);
    public List getListConfiParamByCateAndSubCate(String codCliente,String codSucursal,String codCate,String codSubCate);
    public int inseConfParamClie(ConfBean confBean);
    public int modiConfParamClie(ConfBean confBean);
    public List getListDenominacionesByTipUnidMone(String tipUnidMone);
    public int getTiempoTrancurrido(String date);
    public User getUserByName(String username);
    public List getClieByUser(String usuWeb) throws SQLException;
    public Collection getRolesByPerf(String codPerf,String codModu);
    public String getPerfByUsernameAndCodRazoSoci(String usuWeb,int codRazoSoci);
    public String getUrlModu(String codModu);
    public void inseAudit(AuditBean auditBean) throws SQLException;
    /*JRA CU017 y CU022*/
    public List getListSucursales(String desSucu,String codClie,String tipCnta) throws Exception;
    public String getDescSucursal(String codSucu) throws Exception;
    public String getSucuFromPunt(String codPunt);
    public List getListDenomMone(String tipoUnidMone) throws Exception;
    public List getListConfigArchInd(String desCliente,String estado) throws Exception;
    public List getListTipoArchXClie(String codCliente,String desTipo) throws Exception;
    public void updateTipoArchXClienteMap(String codRepo,String codClie,String estado,String tipo) throws Exception;
    public List listTipoArchIndiXClie(String codClie) throws Exception;
    public List listIndicServicio(String codClie,String codTipo,String nombre, String fechaInic,String fechaHast) throws Exception;
    public int insActTipoArchIndi(String codClie,String cod_tipo_repo,String fec_repo,
                                  String ruta_orig, String ruta_dest_serv, String ruta_dest_oas,String estado,
                                  String nom_repo,String nom_comp_modi,String cod_usua_modi,String fec_modi) throws Exception;
    
    public int eliminaArchIndicador(String codCliente,String tipoReporte,String fecha,String rutaOAS,String nombre,String codUsuario)throws Exception;
    public List getArchRepoHistorico(String codClie,String codSucursal,String codCuenta, String tipoUnidMone,String fechaProc,String codBove,String codRepo) throws Exception;
    /* FIN JRA*/
    /*Begin YNFR*/
   public List buscarFavoritos(final String usuario, final int razSocial);
   public int eliminarFavoritos(final String Usuario,final int razonSocial, final String codOpci);
   public int agregarFavoritos(final String usuario,final int razonSocial, final String codOpci, final String codPerf);
   /*End YNFR*/
   //***
   public List getModulos(String codModu,String user, String perfil,String codRazoSoci,String indOpciMenu);
   //***
   public boolean isValidSucuByCntaAndTipUnidMone(int codClie, int codCnta, int tipUnidMone, int codSucuHtb); 

public List getListClieAlertBove();
   
   public List getListUsuaClie(int codClie);
   
   public int inseConfMailClie(String usuWeb,String codAlert,String usuWebModi,String nomComp);
   
   public int modiConfMailClie(String usuWeb,String codAlert,String usuWebModi,String nomComp);
   
   public int delConfMailClie(String usuWeb,String codAlert);
   
   public List getListConfMailClie(int codClie, String codAlert);
   /*REQ1614 JRA**/
   public Integer getCbmcParmValo(Integer codSucuHtb,Integer numParm);
   /*Fin JRA REQ1614*/
   //***YNFR 14/10/2011 REQ1614 INICIO
   public List getTipoProcesos();
   //***YNFR 14/10/2011 REQ1614 FIN
   public List<TiposBean> getListPrioAtm(int codClie,int codSucuHtb, int codPunt,String fecAten) throws Exception;
   public List getListEstados() throws SQLException;
   public List<TiposBean> buscarTipoIngresoPedido(String desTipo) throws Exception;
   public List<TarjetaEntity> getListTjtasRetenidas(int codClie, String codSucuHtb,String fecEmisDsde,String fecEmisHsta);
   public EmpleadoBean getEmplByPuesto(String codPuesto);
   public List<String> getListClieByParam(String codCate,String codSubCate);
   public List<DenominacionEntity> getListDenoAbasATMMap();
   public List<ConfBean> getListNiveles(int codCli, String codPro) throws Exception;
   public List getListLogConfNiv(String codClie, String tipDocu, String numPedi, String codSeri);
   public List getFechaPublicacion(String opcion, String codClie, String listCodSucu);
   public List getListEstadosGeneral(String codEstado);
   public Boolean isDispActi(int codCajero, int numDispensador);
   public List getListSucursalesCC(String desSucu, String codClie);

    public String getRazSocial(String usuWeb, int codRazoSoci);

    public CorporacionBean getCorporacionUsu(String usuWeb, int codRazoSoci);

    public UsuCodBancoBean getUsuCodBanco(int codRazoSoci,String codSucu);

    public UsuCodBancoBean getUsuCodBancoCorp(int codCorp,String codSucu);

    public int getTipClie(String codClie);

    public List getListOrgDest(String codGrup, String listCodTip);

    public List getListGrupTipoOperacion();
    public List getTiposDinamico(int codGrupTipo, int indTipo, String campo);

    public List getIngresosSalidasGralList(String tipClie, String listCodClies,
                                           String listCodSucurs,
                                           String listPuntosCadena, String origen,
                                           String listCodBancCadena,
                                           String listCodCtaCadena,
                                           String tipoOperacion, String tipoUm,
                                           String listcodBove,
                                           String tipoCliente,
                                           String listClieBanc,
                                           String tipFecha, String tipMov,
                                           String fecDesde, String fecHasta);
    
  public String getSeriDocu(String tipDocu, String codSucuHtb);
  public List<TiposBean> getListTiposReportes(String codClie);
  public List<TiposBean> getListUnidMone();

}
